package com.kuaimacode.kframework;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;

/**
 * spring-boot-seed启动主程序
 * 使用@SpringBootApplication注解最重要的功能有@Configuration、@EnableAutoConfiguration、@ComponentScan三个注解功能
 * 使用@Configuration注解可以将类中的方法作为一个bean注入到Ioc容器中，方法名就是这个bean的name，返回值为这个bean的class，方法需要使用@Bean注解
 * 使用@ComponentScan注解相当于使用<context:component-scan base-package=""/>包扫描，会自动扫描当前类所在的包，因此Application启动类一般放在root package下
 * 使用@EnableAutoConfiguration注解是借助@Import将所有符合自动配置条件bean定义加载到Ioc容器中
 * 使用@MapperScan注解是自动扫描注入mapper接口，如果不使用这个接口，可以在每个Mapper接口上增加@Mapper注解让springboot自动注入接口
 * 使用@EnableCaching注解开启缓存功能
 */



/********************************************************************************
 *      使用方法
 *    swagger测试：
 *    http://127.0.0.1:8080/swagger/index.html
 *    X-Auth-Token值先通过auth接口获取后，在swagger中粘贴token
 * 
 *
********************************************************************************/

@SpringBootApplication
@EnableScheduling
@MapperScan(basePackages = "com.kuaimacode.kframework.mybatis.mapper")
public class Application {

	public static void main(String[] args) {
//		System.setProperty("http.proxySet", "true");
//		System.setProperty("http.proxyHost", "127.0.0.1");
//		System.setProperty("http.proxyPort", "" + 8899);
//		// 针对https也开启代理
//		System.setProperty("https.proxyHost", "127.0.0.1");
//		System.setProperty("https.proxyPort", "" + 8899);
		SpringApplication.run(Application.class, args);
	}
}